package com.xhsj.user.hr.system.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xhsj.user.hr.base.BaseEntity;
import java.time.LocalDate;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * hr流程-离职申请表
 * </p>
 *
 * @author suxiaolin
 * @since 2020-09-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_hr_approval_dimission_apply")
public class TbHrApprovalDimissionApply extends BaseEntity<TbHrApprovalDimissionApply> {

    private static final long serialVersionUID = 1L;

    /**
     * 部门id 逻辑外键 tb_global_organization表id
     */
    @TableField("department_id")
    private Long departmentId;

    /**
     * 岗位id 外键 tb_global_organization表id
     */
    @TableField("position_id")
    private Long positionId;

    /**
     * 入职时间
     */
    @TableField("arrival_date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date arrivalDate;

    /**
     * 离职时间
     */
    @TableField("leave_date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date leaveDate;

    /**
     * 离职类型
     */
    @TableField("leave_type")
    private String leaveType;

    /**
     * 申请人id 外键 tb_global_user表id
     */
    @TableField("apply_user_id")
    private Long applyUserId;

    /**
     * 申请人名称
     */
    @TableField("apply_user_name")
    private String applyUserName;

    /**
     * 审核状态
     */
    @TableField("apply_status")
    private Integer applyStatus;

    /**
     * 离职原因
     */
    @TableField("leave_reason")
    private String leaveReason;

    /**
     * 是否交接 0 未交接 1 已交接
     */
    @TableField("is_handover")
    private Integer isHandover;

    /**
     * 流程id 外键  tb_global_business id
     */
    @TableField("business_id")
    private Long businessId;

    /**
     * 节点id
     */
    @TableField("node_id")
    private Long nodeId;

    /**
     * 节点名称
     */
    @TableField("node_name")
    private String nodeName;


}
